@CLASS
pfStringTests

@USE
pf/tests/pfTestCase.p

@BASE
pfTestCase

@create[aTestName]
  ^BASE:create[$aTestName]

@setUp[]
  ^use[pf/types/pfString.p]

@longURLParseTest[]
  $result[^pfString:parseURL[https://info:fj34fjmlasdffnasjfs@oleg-iv.w3c.proc.ru:564/path/to/point?info=test&mirror?tail#hash]]
  ^pfAssert:isTrue($result)[Ничего не нашли.]
  ^pfAssert:isTrue($result.protocol eq "https")[Неверный протокол: $result.protocol]
  ^pfAssert:isTrue($result.user eq "info")[Неверный юзер: $result.user]
  ^pfAssert:isTrue($result.password eq "fj34fjmlasdffnasjfs")[Неверный пароль: $result.password]
  ^pfAssert:isTrue($result.host eq "oleg-iv.w3c.proc.ru")[Неверный хост: $result.host]
  ^pfAssert:isTrue($result.port eq "564")[Неверный порт: $result.port]
  ^pfAssert:isTrue($result.path eq "/path/to/point")[Неверный путь: $result.path]
  ^pfAssert:isTrue($result.options == 2)[Неверные параметры ^eval($result.options)]
  ^pfAssert:isTrue($result.nameless eq "tail")[Неверный "хвост": "$result.nameless"]      
  ^pfAssert:isTrue($result.hash eq "hash")[Неверный "#hash": "$result.hash"]      
  
@shortURLParseTest[]
  $result[^pfString:parseURL[info@oleg-iv.proc.ru/path/to/point?info=test&mirror?tail#hash]]
  ^pfAssert:isTrue($result)[Ничего не нашли.]
  ^pfAssert:isTrue($result.protocol eq "")[Неверный протокол: $result.protocol]
  ^pfAssert:isTrue($result.user eq "info")[Неверный юзер: $result.user]
  ^pfAssert:isTrue($result.password eq "")[Неверный пароль: $result.password]
  ^pfAssert:isTrue($result.host eq "oleg-iv.proc.ru")[Неверный хост: $result.host]
  ^pfAssert:isTrue($result.port eq "")[Неверный порт: $result.port]
  ^pfAssert:isTrue($result.path eq "/path/to/point")[Неверный путь: $result.path]
  ^pfAssert:isTrue($result.options == 2)[Неверные параметры ^eval($result.options) ^result.options.menu{$result.options.piece}[ ]]
  ^pfAssert:isTrue($result.nameless eq "tail")[Неверный "хвост": "$result.nameless"]      
  ^pfAssert:isTrue($result.hash eq "hash")[Неверный "#hash": "$result.hash"]      

@incorrectURLParseTest[] 
  $result[^pfString:parseURL[info@oleg_iv.proc.ru/path/to/point]]
  ^pfAssert:isFalse($result)[Разобрали некооректный URL.]
 